# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
@Time : 2022/8/1 0001 21:30
@Author : 测试开发工程师
@File : 1. 持续集成体系介绍.py
@Software: PyCharm
============================
"""

"""
目录：
    1. 持续集成测试流程和 Jenkins 介绍
    2. Jenkins 在 Ubunt/Centos/Docker 系统上的搭建和部署
    3. 使用 Jenkins 来创建任务和配置
    4. 创建和配置 slaves 和 nodes
    5. SVN 的集成和任务管理配置
    6. Git/Github 的集成和任务管理配置
    7. Jenkins 实例1 ： 集成 Android uiautomation project
    8. Jenkins 实例2： 集成 IOS automation project
    9. Jenkins 实例3： Maven & Jenkins with Selenium

瀑布模型：
    设计(Design) -> 开发(Develop) -> 测试（Test） ->  Release  ->  Deploy
    
敏捷开发：
    小步快跑，快速迭代
    
什么是持续集成：   马丁福勒 2006
    频繁的（一天多次）将代码集成到主干
    
持续集成测试带来的优点：
    快速发现错误： 每完成一点更新，就集成到对应的分支，可以快速发现错误，定位错误也比较容易
    防止分支大幅偏离主干： 如果不是经常集成，分支或者主干又不断更新，会导致以后集成难度变大，甚至难以集成


持续集成流程：
    1. 检测代码变动  git/gitlab/码云/gitee
    2. 自动构建编译
    3. 自动测试
    4. 自动打包


CI（持续集成）  CD (持续交付 和 DevOps)  CD(持续部署 - 包括各种环境) 
    Develop（开发） -> Bulid(构建) -> Test（测试） -> Release -> Delopy to production（发布）

持续集成（CI）管理工具：  Jenkins   - 全世界主流的工具
    
    
Jenkins 的优势：
    Open Source 10+ years millions of users
    超大量的安装数目（>23000）
    超丰富的插件支持（>370 Plugins）
    支持几乎所有的 source control management 和 Version control management tools
    
   
"""
